## API Report File for "@backstage/plugin-azure-sites-backend"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts
import { AzureSiteListRequest } from '@backstage/plugin-azure-sites-common';
import { AzureSiteListResponse } from '@backstage/plugin-azure-sites-common';
import { AzureSiteStartStopRequest } from '@backstage/plugin-azure-sites-common';
import { CatalogApi } from '@backstage/catalog-client';
import { Config } from '@backstage/config';
import express from 'express';
import { Logger } from 'winston';
import { PermissionEvaluator } from '@backstage/plugin-permission-common';

// @public (undocumented)
export class AzureSitesApi {
  constructor(config: AzureSitesConfig);
  // (undocumented)
  static fromConfig(config: Config): AzureSitesApi;
  // (undocumented)
  list(request: AzureSiteListRequest): Promise<AzureSiteListResponse>;
  // (undocumented)
  start(request: AzureSiteStartStopRequest): Promise<void>;
  // (undocumented)
  stop(request: AzureSiteStartStopRequest): Promise<void>;
  // (undocumented)
  validateSite(annotationName: string, siteName: string): Promise<boolean>;
}

// @public (undocumented)
export class AzureSitesConfig {
  constructor(
    domain: string,
    tenantId: string,
    subscriptions?: string[] | undefined,
    clientId?: string | undefined,
    clientSecret?: string | undefined,
  );
  // (undocumented)
  readonly clientId?: string | undefined;
  // (undocumented)
  readonly clientSecret?: string | undefined;
  // (undocumented)
  readonly domain: string;
  // (undocumented)
  static fromConfig(config: Config): AzureSitesConfig;
  // (undocumented)
  readonly subscriptions?: string[] | undefined;
  // (undocumented)
  readonly tenantId: string;
}

// @public (undocumented)
export function createRouter(options: RouterOptions): Promise<express.Router>;

// @public (undocumented)
export interface RouterOptions {
  // (undocumented)
  azureSitesApi: AzureSitesApi;
  // (undocumented)
  catalogApi: CatalogApi;
  // (undocumented)
  logger: Logger;
  // (undocumented)
  permissions: PermissionEvaluator;
}

// (No @packageDocumentation comment for this package)
```
